<?php
/**
 * @brief Klasa generująca drugi formularz tworzenia aukcji
 * 
 * Definiowane sa w nim wiązki towarów.
 */
class Application_Form_Auction2 extends Zend_Form
{
    /**
     * @brief Metoda inicjująca
     * 
     * Metoda generująca obligatoryjne kontrolki drugiego formularza
     * tworzenia aukcji .
     * Zawiera:
     * - Pole tekstowe na cenę wiązki
     * - Pole tekstowe na maksymalną liczbę wiązek
     * - Pole tekstowe na minimalną liczbę wiązek
     */
    public function init()
    {
        $this->addElement('text','offeredPrice',array(
            'label'         =>'Cena wiązki',
            'required'      =>TRUE,
            'validators'    =>array('float'),
        ));
        
        $this->addElement('text','minVolume',array(
            'label'=>'Min wiązek',
            'required'      =>TRUE,
            'validators'    =>array('float'),
        ));

        $this->addElement('text','maxVolume',array(
            'label'=>'Max wiązek',
            'required'      =>TRUE,
            'validators'    =>array('int'),
        ));
     
        
    }
    
     /**
     * Metoda generująca subformularz dla każdego towaru oferowanego 
     * na aukcji.
     * Zawiera:
     * - Pole tekstowe na udział towaru w wiązce
     * - Kontrolkę wyboru czy chcemy kupić, czy sprzedać dany towar
     */
    public function addCommodity($id)
    {
        //utworzenie subformularza
        $subform = new Zend_Form_SubForm();
        //wyszukanie wskazanego towaru
        $mapper = new Application_Model_CommodityMapper();
        $commodity = $mapper->find($id);
        //dodanie pola na udział towaru
        $subform->addElement('text','quantity', array(
            'label'=>'Udział towaru '.$commodity->getName().' w wiązce ?',
            'required'      =>TRUE,
            'validators'    =>array('int'),
        ));
        //dodanie kontrolki
        $subform->addElement('select', 'shareFactor', array(
            'label' => 'Chcesz sprzedać czy kupić towar '.$commodity->getName().' ?',
            'multiOptions' => array(
              '-1' => 'Sprzedać',
              '1'  => 'Kupić',
            ),
            
        ));
        //dodanie subformularza        
        $this->addSubForm($subform, 'commodityNR'.$id);        
    }
    
    /**
     * Metoda dodająca przycisk akceptacji danych z formularza  
     */
    public function addSubmit()
    {
        $this->addElement('submit','submit',array(
            'label'=>'Potwierdź',
            
        ));
    }
    


}

